1. Field
The following description relates to a simulator of a multi-core system employing reconfigurable processor (RP) cores and a method of simulating a multi-core system employing RP cores, and more particularly, to a simulator and method of simulating a multi-core system is while dynamically configuring a multi-core structure.
2. Description of the Related Art
A multi-core system includes two or more processor cores capable of performing different tasks at the same time. Such a system appropriately distributes the load of tasks of applications suitable for parallel processing to a plurality of processor cores, thereby obtaining improved performance. Through parallel processing, a multi-core system can obtain the same amount of improvement in performance as a single core system at lower cost.
In comparison with a single core system, a multi-core system requires more components, such as processor cores, memories, direct memory accesses (DMAs), interrupt controllers (ITCs), and timers, and connections between respective components are more complicated. Thus, it is important to determine the structure of a multi-core system to improve the performance of the overall system and reduce the power consumption.
One method of determining the structure of a multi-core system may be to depend on the intuition of a skilled engineer. That is, the most suitable structure of a multi-core system may be determined by the experience of an engineer. However, when designed performance and power consumption are not achieved in this method, it is difficult to analyze and solve this problem.
In another method of determining the structure of a multi-core system, components registered in a library are selected, and code representing characteristics and functionality of the components is generated in the C/C++ language. The generated code is compiled, and a simulator is generated to execute the compiled code. Here, the generated simulator can simulate only a fixed structure.
To simulate a modified structure of the multi-core system, several steps need to be performed again, and considerable time is required. Thus, it is necessary to establish an is environment in which a multi-core system can be simulated while modifying the structure of the system.